
package com.hlkj.pay.app.merchant.ext.impl.gtzfpay;
/*
 * Hlpay-Plus aggregate payment system.
 * Copyright (c) 2024-2025 Hlpay Team Copyright has the right of final interpretation.
 */

import com.hlkj.framework.extension.annotation.Extension;
import com.hlkj.pay.app.merchant.ext.ChannelMerchantProfitAccountExtPt;
import com.hlkj.pay.app.merchant.ext.MerchantExtConstant;
import com.hlkj.pay.app.merchant.ext.dto.profit.ChannelProfitAccountBindContext;
import com.hlkj.pay.app.merchant.ext.dto.profit.ChannelProfitAccountContext;
import com.hlkj.pay.app.merchant.ext.impl.easypay.handler.EasyPayMerchantAccountHandler;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Repository;

/**
 * @author HlpayTeam
 * @date 2025/01/09 9:55
 */
@Slf4j
@Repository
@RequiredArgsConstructor
@Extension(bizId = MerchantExtConstant.CHANNEL_GTZF_PAY)
public class GtzfPayProfitAccountExtPt implements ChannelMerchantProfitAccountExtPt {

    private final EasyPayMerchantAccountHandler easyPayMerchantAccountHandler;

    @Override
    public void submitProfitAccount(ChannelProfitAccountContext channelProfitAccountContext) {
        easyPayMerchantAccountHandler.submitProfitAccount(channelProfitAccountContext);
    }

    @Override
    public void updateProfitAccount(ChannelProfitAccountContext channelProfitAccountContext) {
        easyPayMerchantAccountHandler.updateProfitAccount(channelProfitAccountContext);
    }

    @Override
    public void bindProfitAccount(ChannelProfitAccountBindContext channelProfitAccountBindContext) {
        easyPayMerchantAccountHandler.bindProfitAccount(channelProfitAccountBindContext);
    }

    @Override
    public void unBindProfitAccount(ChannelProfitAccountBindContext channelProfitAccountBindContext) {
        easyPayMerchantAccountHandler.unBindProfitAccount(channelProfitAccountBindContext);
    }

    @Override
    public void queryAccountBindList(ChannelProfitAccountBindContext channelProfitAccountContext) {
        easyPayMerchantAccountHandler.queryAccountBindList(channelProfitAccountContext);
    }
}
